<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://unpkg.com/fabric@4.6.0/dist/fabric.min.js"></script>
</head>
<body>
  <!-- <img src="https://img1.baidu.com/it/u=3206351602,2714439067&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500" alt=""> -->
  <canvas width="1000" height="600" id="canvas" style="border: 1px solid #ccc;"></canvas>
  <script>
    // 绘制一个 canvas
    const canvas = new fabric.Canvas('canvas')
    // fabric.Image.fromURL：加载图片的api
    // 第一个参数：图片地址（可以是本地的，也可以是网络图）
    // 第二个参数：图片加载的回调函数
    fabric.Image.fromURL(
      "https://img1.baidu.com/it/u=3206351602,2714439067&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500",
      (img) => {
        // 设置背景图
        canvas.setBackgroundImage(
          img,
          canvas.renderAll.bind(canvas),
          {
            scaleX: canvas.width / img.width, // 横向缩放
            scaleY: canvas.height / img.height // 纵向缩放
          }
        )
      }
    )
    // 这个例子使用了 fabric.Image.fromURL 这个 api 来加载图片，第一个参数是图片地址，第二个参数是回调函数。拿到图片的参数和画布的宽高进行计算，从而使图片充满全屏。

  </script>
</body>
</html>